بالنسبة للمستخدمين العاديين والمعجبين الأقل من المتشددين ، يعد Linux نظام تشغيل. ومع ذلك ، بالنسبة إلى المطورين او الخبراء والمهووسين بالأنظمه ، فإن العنوان Linux محجوز للنواة التي تشغل نظام التشغيل.
قبل أن نشرح ماهية النواة ، من المهم فهم مصطلحات وضع المستخدم ووضع النواة. يكون وضع المستخدم عندما لا يكون لتنفيذ التعليمات البرمجية القدرة على الوصول مباشرة إلى الأجهزة أو الذاكرة المرجعية. للوصول إلى الأجهزة والذاكرة ، يجب أن تقوم التعليمات البرمجية التي تعمل في وضع المستخدم بتفويض التعليمات إلى واجهات برمجة تطبيقات النظام. وضع Kernel هو عندما يكون لتنفيذ التعليمات البرمجية وصول غير مقيد إلى جميع الأجهزة — يتم حجزها للوظائف الأكثر موثوقية لنظام التشغيل.
ما هي نواة لينكس؟
هناك (بشكل عام) ثلاثة أنواع من الأنوية:
يستخدم Linux مصدرًا مفتوح المصدر ، Monolithic Kernel ، بينما يستخدم كل من macOS و Windows نواه Hybrid Kernels. تم تصميم نواة Linux في عام 1991 بواسطة Linus Torvalds. حتى يومنا هذا ، لا يزال Torvalds هو المطور الرئيسي لنواة Linux ، بينما يساهم المطورون من جميع أنحاء العالم في Linux kernel. في الواقع ، يُقدر أن ما يقرب من 10000 مطور ، من أكثر من 1000 شركة ، ساهموا في Linux kernel منذ بدء التتبع في 2005.
الوصول للنواه النواة؟
إذا فتحت نافذة طرفية وأصدرت الأمر ls / boot ، فسترى ملفًا يسمى vmlinuz-VERSION (حيث يمثل VERSION اسم الإصدار أو الرقم). ملف vmlinuz هو نواة Linux القابلة للتشغيل الفعلية ، ويشير z إلى أن kernel مضغوط.
ضمن دليل / boot هناك ملفات kernel مهمة أخرى ، مثل initrd.img-VERSION و system.map-VERSION و config-VERSION (حيث يكون VERSION إما اسمًا أو رقم إصدار). تخدم هذه الملفات الأخرى الأغراض التالية:
initrd: تستخدم كذاكرة RAMdisk صغيرة تستخرج ملف النواة الفعلي وينفذها.
system.map: تستخدم لإدارة الذاكرة ، قبل تحميل النواة.
config: يوجه النواة بشأن الخيارات والوحدات النمطية التي سيتم تحميلها.
النواة الحالية.
يتم تحديث Linux kernel بشكل متكرر ، ولكن لن تتضمن جميع توزيعات Linux أحدث kernel.
أنت حر في تنزيل إصدارات مختلفة من Linux kernel من kernel.org وتجميعها بنفسك. يعد تجميع Linux kernel مهمة من الأفضل تركها لأولئك الذين يعرفون حقًا ما يفعلونه. يمكن للنواة التي تم تجميعها بشكل غير صحيح أن تجعل النظام غير قابل للتمهيد. لذلك ، ما لم تكن مستعدًا للغوص في المهمة الصعبة المتمثلة في تجميع التعليمات البرمجية على هذا المستوى ، فاستخدم النواة الافتراضية التي تقوم بشحن وتحديث التوزيع الذي تختاره.